package ar.edu.utn.frba.dds.opendesigners.escalas;

import ar.edu.utn.frba.dds.opendesigners.ParametroBusqueda;
import ar.edu.utn.frba.dds.opendesigners.aerolineas.AerolineaAdapter;
import ar.edu.utn.frba.dds.opendesigners.resultados.ResultadoBusqueda;

public class BuscadorEscalas {
    //private List<RouteOption> list;
    
    //Busca escalas posibles usando una aerolinea única
    public static ResultadoBusqueda Buscar(ParametroBusqueda param, AerolineaAdapter aerolinea, Integer maxEscalas){
    	ResultadoBusqueda resultadosConEscalas = new ResultadoBusqueda();
    	
     	Raiz combinacionesDesdeOrigen = new Raiz(param.copia(), aerolinea, false, maxEscalas);
     	resultadosConEscalas.agregarResultadoBusqueda(combinacionesDesdeOrigen.buscarTramos());

     	//Ahora busco todos los vuelos que llegan al destino en al fecha pedida, y voy para atras (por eso reverse = true)
     	Raiz combinacionesDesdeDestino = new Raiz(param, aerolinea, true, maxEscalas);
     	resultadosConEscalas.agregarResultadoBusqueda(combinacionesDesdeDestino.buscarTramos());
     	
    	return resultadosConEscalas;
    }
    
}
        
    